package com.yuan.weike.mapper;

import com.yuan.weike.model.TaskEvaluation;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface TaskEvaluationMapper {

    /**
     * 插入任务评价
     *
     * @param taskEvaluation 任务评价对象
     * @return 插入记录数
     */
    int insert(TaskEvaluation taskEvaluation);

    /**
     * 根据ID查询任务评价
     *
     * @param evaluationId 评价ID
     * @return 任务评价对象
     */
    TaskEvaluation selectById(Long evaluationId);

    /**
     * 查询所有任务评价
     *
     * @return 任务评价列表
     */
    List<TaskEvaluation> selectAll();

    /**
     * 根据任务ID查询评价
     *
     * @param taskId 任务ID
     * @return 任务评价对象
     */
    TaskEvaluation selectByTaskId(Long taskId);

    /**
     * 根据任务ID列表查询评价
     *
     * @param taskIds 任务ID列表
     * @return 任务评价列表
     */
    List<TaskEvaluation> selectByTaskIds(List<Long> taskIds);

    /**
     * 更新任务评价
     *
     * @param taskEvaluation 任务评价对象
     * @return 更新记录数
     */
    int update(TaskEvaluation taskEvaluation);

    /**
     * 删除任务评价
     *
     * @param evaluationId 评价ID
     * @return 删除记录数
     */
    int deleteById(Long evaluationId);
}